﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;

namespace GRC_TPE_WebApp.View
{
    public partial class MasterPage : System.Web.UI.MasterPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            /// si l'utilisateur est déjà connecté
            if (Session["User"] != null && ((string[])Session["User"]).Count() == 5)
            {
                /// si c'est un utilisateur
                if (((string[])Session["User"])[2] == "Utilisateur")
                    /// affichage du sitemap des utilisateurs
                    this.DS_SiteMap.SiteMapProvider = "User";
                /// si c'est un administrateur
                else if (((string[])Session["User"])[2] == "Administrateur")
                    /// affichage du sitemap des administrateurs
                    this.DS_SiteMap.SiteMapProvider = "Admin";
                else
                {
                    /// sinon il y a une erreur dans le profil la déconnexion est effectuée
                    Session.Clear();
                    Response.Redirect("~/View/Login.aspx");
                }

                /// mise à jour du champ d'affichage de l'utilisateur
                this.LB_User.Text = ((string[])Session["User"])[0] + " " + ((string[])Session["User"])[1];
            }
            else
            {
                /// sinon l'utilisateur est redirigé vers le login
                Session.Clear();
                Response.Redirect("~/View/Login.aspx");
            }
        }

        /// <summary>
        /// Méthode permettant la déconnexion de l'utilisateur
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void LB_Disconnect_Click(object sender, EventArgs e)
        {
            ///l'utilisateur est redirigé vers le login et la session nettoyée
            Session.Clear();
            Response.Redirect("~/View/Login.aspx");
        }

        /// <summary>
        /// Méthode permettant l'affichage des informations utilisateur
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void L_User_Click(object sender, EventArgs e)
        {
            /// si l'utilisateur est connecté
            if (Session["User"] != null && ((string[])Session["User"]).Count() == 5)
            {
                Response.Redirect("~/View/Private/User/DisplayUser.aspx?id=" + ((string[])Session["User"])[4]);
            }
            else
            {
                /// sinon l'utilisateur est redirigé vers le login
                Session.Clear();
                Response.Redirect("~/View/Login.aspx");
            }
        }
    }
}